home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / NET / URLEncoder.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  890 b   |  50 lines

  1. package java.net;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.util.BitSet;
  5.  
  6. public class URLEncoder {
  7.    static BitSet dontNeedEncoding = new BitSet(256);
  8.  
  9.    private URLEncoder() {
  10.    }
  11.  
  12.    public static String encode(String var0) {
  13.       ByteArrayOutputStream var1 = new ByteArrayOutputStream(var0.length());
  14.  
  15.       for(int var2 = 0; var2 < var0.length(); ++var2) {
  16.          char var3 = var0.charAt(var2);
  17.          if (dontNeedEncoding.get(var3)) {
  18.             if (var3 == ' ') {
  19.                var3 = '+';
  20.             }
  21.  
  22.             var1.write(var3);
  23.          } else {
  24.             var1.write(37);
  25.             var1.write(Character.forDigit(var3 >> 4, 16));
  26.             var1.write(Character.forDigit(var3 & 15, 16));
  27.          }
  28.       }
  29.  
  30.       return var1.toString();
  31.    }
  32.  
  33.    static {
  34.       for(int var0 = 97; var0 <= 122; ++var0) {
  35.          dontNeedEncoding.set(var0);
  36.       }
  37.  
  38.       for(int var1 = 65; var1 <= 90; ++var1) {
  39.          dontNeedEncoding.set(var1);
  40.       }
  41.  
  42.       for(int var2 = 48; var2 <= 57; ++var2) {
  43.          dontNeedEncoding.set(var2);
  44.       }
  45.  
  46.       dontNeedEncoding.set(95);
  47.       dontNeedEncoding.set(32);
  48.    }
  49. }
  50.